Подписаться
Опубликовано

Типы или интерфейсы в TypeScript: выбирают фронтендеры

Автор
  • Имя
    Счастливый тимлид | ♥ Frontend
    Telegram

Я работаю руководителем фронтенда и временами нанимаю фронтендеров. Последний найм-марафон продлился чуть более месяца и я поговорил примерно с десятком кандидатов.

Во время этих всех собеседований я спрашивал у кандидатов в том числе и такой вопрос:

«Когда ты используешь типы, а когда интерфейсы?».

Вроде бы простой выбор с которым каждый день десятки раз сталкивается разработчик. Но ответы заставили меня задуматься и пересмотреть свое отношение к этому вопросу.

Я обнаружил, что по ответу на этот вопрос можно с высокой вероятностью понять опыт кандидата. Если кандадат говорит, что для типизации пропсов в реактике он использует интерфейсы, то в большинстве случаев он начал использовать тайпскрипт еще когда реакт был на классах. Фронтендеры же новой школы поголовно всё типизируют типами. И с этим, в принципе, нет никаких проблем, кроме одной.

Ни те, ни другие не могут однозначно сказать на основе чего делают выбор. Поголовно это чисто интуитивное решение: из серии «прокатит — оставляем, не прокатило — переделываем». И их можно понять, эта схема работает довольно хорошо, зачем что-то менять. Но что я хочу услышать от кандидата?

Я не требую изложить мне всю теорию. Мне достаточно услышать хотя бы базовые три пункта: — во многих случаях они взаимозаменяемы — в библиотеках лучше экспортить интерфейсы, так как их можно расширить — в тип можно записать любой существующий тип и не только. Этого более чем достаточно, чтобы ответ меня устроил. Но я задумался, а знаю ли я сам ответ на этот вопрос на 100%?

Я полез в документацию и пропал. Мне кажется я раскопал столько всего странного и необычного, с чем не сталкивается типичный разработчик. И всё это только вокруг вопроса про базовые понятия типов и интерфейсов. Я сел записывать видео, начинал несколько раз, но каждый раз я понимал, что видео будет не полным, потому что вот есть еще такое и такое. А еще вот тут отличается. А еще и такую штуку можно делать. О Фи Ге Ть!

Решил написать сначала текстом — сценарий типа, потому что в голове всё не умещается, да и примеров нужна куча. Сел писать, но ни за вечер, ни за два не осилил. Информации много, пишется тяжело и медленно. Еще и ошибиться боюсь.

В общем, решил, что буду выпускать на канале по частям. Надеюсь что вы не только почитаете, но и подскажете где я не прав, какие нюансы упустил, а в конце глядишь сложится нормальная статья для какого-нибудь хабра, а там и видео по ней получится записать.

Скоро...

© Записки тимлида

Счастливый тимлид | ♥ Frontend
2204 подписчика
692 поста

Закрепленные

Из подборки #frontend

Опубликовано

Телеграмовский сосун (или какун, как правильно?)

Телеграмовский сосун суммирует мой лонгрид – стоит ли публиковать полную версию?
Опубликовано

Итоги

Итоги года блога тимлида: количество подписчиков, менторство, сообщество ИТ‑блогеров, планы на 2025
Опубликовано

Поделитесь вашими любимыми мемами уходящего года

Поделитесь любимыми мемами уходящего года

Свежие посты

Опубликовано

Телеграмовский сосун (или какун, как правильно?)

Телеграмовский сосун суммирует мой лонгрид – стоит ли публиковать полную версию?